package com.spark.lola.service.pur;

import com.spark.lola.entity.pur.OrderInfo;
import com.spark.lola.entity.pur.ReturnOrderInfo;
import com.spark.lola.support.common.entity.ShiroUser;
import com.spark.lola.support.mybatis.service.BaseService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author dengyejun
 * @since 2020-05-18
 */
public interface IReturnOrderInfoService extends BaseService<ReturnOrderInfo> {
    ReturnOrderInfo findFullById(Long orderId);

    /**
     * 添加退货单
     * @param form
     */
    Long add(OrderInfo form, ShiroUser shiroUser) throws Exception;

    /**
     * 修改退货单
     * @param form
     */
    ReturnOrderInfo update(ReturnOrderInfo form, ShiroUser shiroUser) throws Exception;

    /**
     * 审核
     * @param orderId
     */
    void checking(Long orderId, ShiroUser shiroUser) throws Exception;

    /**
     * 完成
     * @param orderId
     */
    void completing(Long orderId, ShiroUser shiroUser) throws Exception;

    /**
     * 取消退货单
     * @param orderId
     */
    void canceling(Long orderId, ShiroUser shiroUser) throws Exception;
}
